package com.own.business.level.business.core;

import com.own.business.level.business.model.ExpModel;

/**
 * ExpRuleFunction
 *
 * @author chenxueli
 * @date 2022-08-15 14:59:00
 */
public interface ExpRuleFunction {

    /**
     * 当前次增加数量（如果数量为0，则不能添加）
     *
     * @param userId 登录的用户id
     * @return 当前次提升的数量
     */
    default ExpModel increase(Long userId) {
        return ExpModel.ZERO;
    }

    /**
     * 经验类型
     *
     * @return 经验类型
     */
    String type();

    /**
     * 顺序（数字越小越靠前）
     *
     * @return 顺序
     */
    default int order() {
        return 999;
    }

}
